{% block sw_form_field_renderer %}
{# The last 3 event handlers are for meteor components #}
<component
    :is="componentName"
    v-bind="bind"
    ref="component"
    v-model:[componentPropName]="currentValue"
    class="sw-form-field-renderer"
    :error="error"
    @update:value="emitUpdate"
    @update:ids="emitUpdate"
    @update:entity-collection="emitUpdate"
>
    {% block sw_form_field_renderer_scope_slots %}
    <!-- eslint-disable vue/v-slot-style -->
    <template
        v-for="(slot, slotName) in getScopedSlots()"
        #[slotName]="slotData"
    >
        <!-- eslint-enable vue/v-slot-style -->
        <slot
            :name="slotName"
            v-bind="slotData"
        >
        </slot>
    </template>
    {% endblock %}

    {% block sw_form_field_renderer_inner %}
    <slot>
    {% block sw_form_field_renderer_inner_slot %}{% endblock %}
    </slot>
    {% endblock %}
</component>
{% endblock %}
